// 线程分离函数 -> int pthread_detach(pthread_t thread) -> 子线程和主线程分离后，其退出时占用的内核资源就被其他进程接管并回收了
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>
#include<pthread.h>

void* callback(void* arg)
{
    printf("子线程:%ld\n", pthread_self());

    return NULL;
}

int main()
{
    pthread_t tid; // 创建子线程
    pthread_create(&tid, NULL, callback, NULL);

    printf("主线程:%ld\n", pthread_self());

    pthread_detach(tid); // 线程分离

    // 主线程自己退出即可
    pthread_exit(NULL);

    return 0;
}

/*
    主线程:140253166389056
    子线程:140253166384896
*/